﻿Imports System.Data
Imports System.Data.SqlClient
Public Class UsrCtrlKhoi
    Public Sub LoadData()
        Dim Khoi_BUS As KhoiBUS = New KhoiBUS
        Dim sql As String = "select * from KHOI"
        Khoi_BUS.LoadDGV(dgvKhoi, sql)
    End Sub

    Private Sub btnThemKhoi_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnThemKhoi.Click
        Dim Khoi_BUS As KhoiBUS = New KhoiBUS
        Dim k As KhoiDTO = New KhoiDTO
        k.MaKhoi = txtMaKhoi.Text
        k.TenKhoi = txtTenKhoi.Text
        If (Khoi_BUS.ThemKhoi(k)) Then
            MessageBox.Show("Thêm Khối thành công!", "^^", MessageBoxButtons.OK)
            LoadData()
        Else
            MessageBox.Show("Thêm thất bại, kiểm tra lại dữ liệu hoặc kết nối", "Opps!", MessageBoxButtons.OK)
        End If
    End Sub

    Private Sub btnXoaKhoi_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnXoaKhoi.Click
        Dim Khoi_BUS As KhoiBUS = New KhoiBUS
        Dim index As DataGridViewSelectedRowCollection = dgvKhoi.SelectedRows
        For Each A As DataGridViewRow In index
            Dim MaKhoi As String = A.Cells(0).Value.ToString()
            Dim GetDT As DataProvider = New DataProvider
            Dim sql As String = "select MaLop from Lop where MaKhoi = '" & MaKhoi & "'"
            Dim reader As SqlDataReader = GetDT.SQL_ExcuteQueryReader(sql)
            If (reader.HasRows) Then 'kiểm tra có tồn tại lớp k?
                Dim ml As String
                If reader.Read() Then
                    ml = reader.GetString("0")
                End If
                Dim result As MsgBoxResult = MessageBox.Show("Bạn có chắc xóa những lớp thuộc khối này?", "???", MessageBoxButtons.OKCancel)
                If result = MsgBoxResult.Cancel Then
                    Return
                ElseIf result = MsgBoxResult.Ok Then
                    sql = "select MaHocSinh from HocSinh where MaLop = '" & ml & "'"
                    reader = GetDT.SQL_ExcuteQueryReader(sql)
                    If (reader.HasRows) Then 'kiểm tra có tồn lại học sinh thuộc lớp k?
                        result = MessageBox.Show("Bạn có chắc muốn xóa những học sinh thuộc khối này???", "???", MessageBoxButtons.OKCancel)
                        If result = MsgBoxResult.Cancel Then
                            Return
                        ElseIf result = MsgBoxResult.Ok Then
                            sql = "Select MaBaoCao from BAOCAO where MaLop = '" & ml & "'"
                            reader = GetDT.SQL_ExcuteQueryReader(sql)
                            If (reader.HasRows) Then 'kiểm tra có tồn tại cáo cáo của lớp k?
                                result = MessageBox.Show("Bạn có chắc muốn xóa những Báo cáo thuộc khối này???", "???", MessageBoxButtons.OKCancel)
                                If result = MsgBoxResult.Cancel Then
                                    Return
                                ElseIf result = MsgBoxResult.Ok Then
                                    If (Khoi_BUS.XoaKhoi(MaKhoi) = False) Then
                                        MessageBox.Show("Xoá không thành công vui lòng kiểm tra lại kết nối mạng !!!", "Opps!", MessageBoxButtons.OK)
                                        Return
                                    End If
                                End If
                            Else
                                If (Khoi_BUS.XoaKhoi(MaKhoi) = False) Then
                                    MessageBox.Show("Xoá không thành công vui lòng kiểm tra lại kết nối mạng !!!", "Opps!", MessageBoxButtons.OK)
                                    Return
                                End If
                            End If
                        End If
                        'if chấp nhận xóa hs
                    Else
                        If (Khoi_BUS.XoaKhoi(MaKhoi) = False) Then
                            MessageBox.Show("Xoá không thành công vui lòng kiểm tra lại kết nối mạng !!!", "Opps!", MessageBoxButtons.OK)
                            Return
                        End If
                    End If
                    'if kt tồn tại hs
                End If
                'if chấp nhận xóa lớp
            Else
                If (Khoi_BUS.XoaKhoi(MaKhoi) = False) Then
                    MessageBox.Show("Xoá không thành công vui lòng kiểm tra lại kết nối mạng !!!", "Opps!", MessageBoxButtons.OK)
                    Return
                End If
            End If
            'if tồn tại lớp
        Next
        MessageBox.Show("Xóa thành công !!!", "^^", MessageBoxButtons.OK)
        LoadData()
    End Sub

    Private Sub btnSuaKhoi_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnSuaKhoi.Click
        Dim Khoi_BUS As KhoiBUS = New KhoiBUS
        Dim k As KhoiDTO = New KhoiDTO
        k.MaKhoi = txtMaKhoi.Text
        k.TenKhoi = txtTenKhoi.Text
        If (Khoi_BUS.SuaKhoi(k)) Then
            MessageBox.Show("Cập nhật Khối thành công!", "^^", MessageBoxButtons.OK)
            LoadData()
        Else
            MessageBox.Show("Cập nhật thất bại, kiểm tra lại dữ liệu hoặc kết nối", "Opps!", MessageBoxButtons.OK)
        End If
    End Sub

    Private Sub dgvKhoi_SelectionChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles dgvKhoi.SelectionChanged
        txtMaKhoi.Text = dgvKhoi.CurrentRow.Cells(0).Value
        txtTenKhoi.Text = dgvKhoi.CurrentRow.Cells(1).Value
    End Sub
End Class
